lexer grammar InternalDesl;
@header {
package spynx.parser.antlr.internal;

// Hack: Use our own Lexer superclass by means of import. 
// Currently there is no other way to specify the superclass for the lexer.
import org.eclipse.xtext.parser.antlr.Lexer;
}

T12 : 'program' ;
T13 : ';' ;
T14 : 'reference' ;
T15 : 'pattern' ;
T16 : ':' ;
T17 : '(' ;
T18 : ',' ;
T19 : ')' ;
T20 : 'const' ;
T21 : '=' ;
T22 : 'continue' ;
T23 : 'break' ;
T24 : 'return' ;
T25 : '{' ;
T26 : '}' ;
T27 : 'var' ;
T28 : 'optional' ;
T29 : 'locate' ;
T30 : 'for' ;
T31 : 'option' ;
T32 : 'using' ;
T33 : 'match' ;
T34 : 'arguments' ;
T35 : 'options' ;
T36 : 'minOccur' ;
T37 : 'maxOccur' ;
T38 : 'returnLastOccurrenceOnly' ;
T39 : 'input' ;
T40 : 'position' ;
T41 : 'globalPosition' ;
T42 : 'updateParentPosition' ;
T43 : 'if' ;
T44 : 'else' ;
T45 : 'foreach' ;
T46 : 'in' ;
T47 : 'while' ;
T48 : 'struct' ;
T49 : '?' ;
T50 : 'evaluate' ;
T51 : 'statement' ;
T52 : '&&' ;
T53 : '||' ;
T54 : '>' ;
T55 : '<' ;
T56 : '<=' ;
T57 : '>=' ;
T58 : '==' ;
T59 : '!=' ;
T60 : '+' ;
T61 : '-' ;
T62 : '*' ;
T63 : '/' ;
T64 : '%' ;
T65 : '<<' ;
T66 : '>>' ;
T67 : '!' ;
T68 : '.' ;
T69 : '[' ;
T70 : ']' ;
T71 : '@' ;
T72 : 'new' ;
T73 : 'execute' ;
T74 : 'job' ;
T75 : 'nameresolver' ;
T76 : 'ref' ;
T77 : 'null' ;
T78 : 'this' ;
T79 : 'begin' ;
T80 : 'end' ;
T81 : 'matchinfo' ;
T82 : 'class' ;
T83 : 'factory' ;
T84 : 'locator' ;
T85 : 'type' ;
T86 : '::' ;
T87 : 'true' ;
T88 : 'false' ;

// $ANTLR src "../spynx.desl.parser/src-gen/spynx/parser/antlr/internal/InternalDesl.g" 5880
RULE_VERBATIM_STRING : ('@' '\'' ~('\'')* '\''|'@' '"' ~('"')* '"');

// $ANTLR src "../spynx.desl.parser/src-gen/spynx/parser/antlr/internal/InternalDesl.g" 5882
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;

// $ANTLR src "../spynx.desl.parser/src-gen/spynx/parser/antlr/internal/InternalDesl.g" 5884
RULE_INT : ('0'..'9')+;

// $ANTLR src "../spynx.desl.parser/src-gen/spynx/parser/antlr/internal/InternalDesl.g" 5886
RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');

// $ANTLR src "../spynx.desl.parser/src-gen/spynx/parser/antlr/internal/InternalDesl.g" 5888
RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';

// $ANTLR src "../spynx.desl.parser/src-gen/spynx/parser/antlr/internal/InternalDesl.g" 5890
RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;

// $ANTLR src "../spynx.desl.parser/src-gen/spynx/parser/antlr/internal/InternalDesl.g" 5892
RULE_WS : (' '|'\t'|'\r'|'\n')+;

// $ANTLR src "../spynx.desl.parser/src-gen/spynx/parser/antlr/internal/InternalDesl.g" 5894
RULE_ANY_OTHER : .;


